package fl.ass.service.dao;

import java.util.List;

import cn.cmm.base.framework.exception.BaseException;
import fl.flow.facade.flow.dto.SysFlowSHDTO;
import org.apache.ibatis.annotations.Param;

import cmm.mid.core.framework.page.Pager;
import cmm.service.core.framework.dao.IBaseDao;
import fl.ass.facade.condition.AssDealCarQueryCondition;
import fl.ass.facade.dto.AssDealCarDTO;
import fl.ass.service.po.AssDealCar;

/**
 *  @Description: 处置-转优车信息表 持久层
 *  @Description: 持久层方法名称前缀：新增：insert* 删除：delete* 修改：update* 批量：batch* 查询对象：select* get* find* 查询集合：select*
 */
public interface AssDealCarMapper extends IBaseDao<AssDealCar,AssDealCarQueryCondition>{

	/**
	 * 分页查询处置-优车列表
	 * @param page
	 * @return
	 */
	public List<AssDealCarDTO> findAssDealCarListByPage(Pager page);
	
	/**
	 * 不分页查询处置-优车列表
	 * @param condition
	 * @return
	 */
	public List<AssDealCar> findAssDealCarList(@Param("condition")AssDealCarQueryCondition condition);
	
	/**
	 * 修改转优车信息表历史状态
	 * @param paySchId
	 * @param id
	 * @return
	 */
	public void updateAssDealCarHisStatus(@Param(value="paySchId") Long paySchId,@Param(value="id") Long id);

	/**
	 * 联合查询表ass_deal_car,ass_transfer_info
	 * @param page
	 * @return
	 */
	List<AssDealCar> searchUnionListByPage(Pager page);

    /**
     * 批量更新流程历史表的流程状态
     * @param sysFlowSHDTOS
     * @return
     * @throws BaseException
     */
    int batchUpdateDealCarFlowAudStatus(@Param(value="list")List<SysFlowSHDTO> sysFlowSHDTOS) throws BaseException;

    /**
     * 字段赋值为空的时候的单独方法
     * @param entity
     * @return
     * @throws BaseException
     */
    int modify4Null(AssDealCar entity)throws BaseException;

}
